package com.zecan.kmp;

import java.util.Arrays;

/**
 * \* Created with IntelliJ IDEA.
 * \* User: lenovo
 * \* Date: 2021/10/11
 * \* Time: 17:54
 * \* Description: 字符串暴力匹配
 * \
 */
public class Violentmatch {
    public static void main(String[] args) {
        String str1 = "ABABBBAACDE";
        String str2 = "AACD";

        int index = violentMatch(str1, str2);
        if(index != -1) {
            System.out.println(index);
        }
    }

    public static int violentMatch(String str1, String str2) {
      int i = 0; // 定义指向文本串的指针i
      int j = 0; // 定义指向模式串的指针j

        while(i < str1.length() && j < str2.length()) {
            if(str1.charAt(i) == str2.charAt(j)) { // 如果当前字符串下标的字符相同
                i++; // 指针下移
                j++;
            }else {
                i = i - j + 1; // 否则i 也进行回溯
                j = 0; // j 初始化为0
            }
        }

        if(j >= str2.length()) {
            return i - j; // 如果j 的值与 文本串的长度相同，那么就直接返回 i - j
        }else {
            return -1;
        }
    }
}
